package com.ruoyi.zhgd.service;

import com.ruoyi.common.core.domain.R;
import com.ruoyi.zhgd.domain.bo.NLaboratoryMechanicsWReportBo;
import com.ruoyi.zhgd.domain.vo.NLaboratoryMechanicsWGroupVo;
import com.ruoyi.zhgd.domain.bo.NLaboratoryMechanicsWGroupBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.zhgd.domain.vo.NLaboratoryMechanicsWReportDetailVo;

import java.util.Collection;
import java.util.List;

/**
 * 万能机主表信息Service接口
 *
 * @author tll
 * @date 2023-09-15
 */
public interface INLaboratoryMechanicsWGroupService {

    /**
     * 查询万能机主表信息
     */
    NLaboratoryMechanicsWGroupVo queryById(Long id);

    /**
     * 查询万能机主表信息列表
     */
    TableDataInfo<NLaboratoryMechanicsWGroupVo> queryPageList(NLaboratoryMechanicsWGroupBo bo, PageQuery pageQuery);

    /**
     * 查询万能机主表信息列表
     */
    List<NLaboratoryMechanicsWGroupVo> queryList(NLaboratoryMechanicsWGroupBo bo);

    /**
     * 新增万能机主表信息
     */
    Boolean insertByBo(NLaboratoryMechanicsWGroupBo bo);

    /**
     * 修改万能机主表信息
     */
    Boolean updateByBo(NLaboratoryMechanicsWGroupBo bo);

    /**
     * 校验并批量删除万能机主表信息信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    /**
     * 万能机设备信息列表
     * @param bo
     * @param pageQuery
     * @return
     */
    TableDataInfo<NLaboratoryMechanicsWGroupVo> page(NLaboratoryMechanicsWGroupBo bo, PageQuery pageQuery);

    void verifyEligible(Integer id);

    R<List<NLaboratoryMechanicsWReportDetailVo>> getReportInfo(Long id, String symc);

    R<List<NLaboratoryMechanicsWReportDetailVo>> getReportInfos(Long id, String symc);

    R saveReport(NLaboratoryMechanicsWReportBo bo);

    R<List<NLaboratoryMechanicsWReportDetailVo>> gethjReportInfo(Long id, String symc);

    R hjsaveReport(NLaboratoryMechanicsWReportBo bo);

    R jxljsaveReport(NLaboratoryMechanicsWReportBo bo);

}
